package benzapp.pack;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/**
 * @author Valentino Briani
 * Activity relativa alle opzioni
 */
public class OpzioniActivity extends Activity {
	private SharedPreferences preferences;
	private SharedPreferences.Editor editor;
	private float raggio;
	private int max_risultati;
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		//setto il layout
		setContentView(R.layout.opzioni);
		
		//creo il menu delle activity
		createMenu();
		
		//recupero dalle sharedpreferences il raggio e il numero massimo di risultati
		preferences = getSharedPreferences("Opzioni", MODE_PRIVATE);
		editor = preferences.edit();
		raggio = preferences.getFloat("raggio", 1);
		max_risultati = preferences.getInt("max_risultati", 10);
		
		//recupero i campi e li riempo coi valori salvati 
		final EditText et_raggio = (EditText) findViewById(R.id.editText_raggio);
		et_raggio.setText(raggio + "");
		final EditText et_max_risultati = (EditText) findViewById(R.id.editText_max_risultati);
		et_max_risultati.setText(max_risultati + "");
		
		//bottone applica: salvo i valori dei campi nelle sharedpreferences se sono validi
		Button b_applica = (Button) findViewById(R.id.button_applica);
		b_applica.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				try {
					raggio = new Float(et_raggio.getText().toString());
					max_risultati = new Integer(et_max_risultati.getText().toString());
					if (max_risultati<1 || max_risultati>100)
						throw new NumberFormatException();
					editor.putFloat("raggio", raggio);
					editor.putInt("max_risultati", max_risultati);
					editor.commit();
					Toast.makeText(getApplicationContext(), "Opzioni salvate", Toast.LENGTH_LONG).show();
				} catch (NumberFormatException e) {
					Toast.makeText(getApplicationContext(), "Valori inseriti non validi", Toast.LENGTH_LONG).show();					
				}
			}
		});
		
		//bottone ripristina: ripristino i valori di default nelle sp di raggio e massimo numero di risultati (1 e 10)
		Button b_ripristina = (Button) findViewById(R.id.button_ripristina);
		b_ripristina.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				raggio = 1;
				max_risultati = 10;
				et_raggio.setText(raggio + "");
				et_max_risultati.setText(max_risultati + "");
				editor.putFloat("raggio", raggio);
				editor.putInt("max_risultati", max_risultati);
				editor.commit();
				Toast.makeText(getApplicationContext(), "Opzioni di default ripristinate", Toast.LENGTH_LONG).show();
			}
		});
		
	}

    /**
     * @author Valentino Briani
     * Funzione che gestisce il menu: quando viene ciccato un bottone viene richiamata la relativa Activity
     */
	private void createMenu() {
    	
		//bottone della mappa
    	Button button_mappa = (Button) findViewById(R.id.button_mappa);
        button_mappa.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Intent intent = new Intent(getApplicationContext(), BenzAppActivity.class);
				intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
				startActivity(intent);
			}
		});
        
        //bottone delle opzioni, selezionato
    	Button button_opzioni = (Button) findViewById(R.id.button_opzioni);
    	button_opzioni.setTextColor(Color.WHITE);
    	button_opzioni.setBackgroundColor(Color.TRANSPARENT);
        
    	//bottone degli aiuti
        Button button_aiuto = (Button) findViewById(R.id.button_aiuto);
        button_aiuto.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Intent intent = new Intent(getApplicationContext(), AiutoActivity.class);
				intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
				startActivity(intent);
			}
		});
        
        //bottone dei crediti
        Button button_crediti = (Button) findViewById(R.id.button_crediti);
        button_crediti.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Intent intent = new Intent(getApplicationContext(), CreditiActivity.class);
				intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
				startActivity(intent);
			}
		});
        
    }

}
